package com.bbcare.followup.plat.service;


import com.bbcare.followup.plat.dto.request.*;
import com.bbcare.followup.plat.dto.response.FuMilkPreparationRecordResDTO;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * 预约记录服务接口
 */
public interface IFuMilkPreparationRecordService
{
    /**
     * 待设置备乳分页列表
     * @param reqDTO
     * @param request
     * @return
     */
    Map<String, Object> milkPrepPatientPage(MilkPreparationRecordUserPageReqDTO reqDTO, HttpServletRequest request) throws Exception;

    /**
     * 待发送备乳通知,已发送备乳通知,已发送待备历史记录
     * @param reqDTO
     * @param request
     * @return
     */
    String setMilkQuantity(MilkPreparationSetReqDTO reqDTO, HttpServletRequest request);

    /**
     * 待设置备乳分页列表
     * @param reqDTO
     * @param request
     * @return
     */
    Map<String, Object> listPage(MilkPreparationRecordPageReqDTO reqDTO, HttpServletRequest request);

    /**
     * 备乳发送历史
     * @param reqDTO
     * @param request
     * @return
     */
    Map<String, Object> sendHistoryPage(MilkPreparationHistoryPageReqDTO reqDTO, HttpServletRequest request);

    /**
     * 批量发送通知
     * @param reqDTO
     * @param request
     * @return
     */
    void confirmSend(MilkPreparationChoiceReqDTO reqDTO, HttpServletRequest request) throws Exception;


    /**
     * 获取备乳详情
     * @param id
     */
    FuMilkPreparationRecordResDTO selectOne(String id);

    public Map<String, Object> milkPrepPatientPageWithCount(MilkPreparationRecordUserPageReqDTO reqDTO, HttpServletRequest request) throws Exception;

    /**
     * 删除备乳通知（物理）。
     * @param id
     * @return
     */
    public int deleteByPK(final String id);
}
